/*
  封装通用的操作数据库的方法
*/
function operateDb(sql, params) {
    return new Promise(function (resolve, reject) {
        // 1) 加载 MySQL 模块
        const mysql = require('mysql')

        // 2) 创建 MySQL 连接对象
        const cn = mysql.createConnection({
            // 数据库所在计算机的IP或者域名
            host: 'localhost',
            // 端口
            port: 3306,
            // 数据库名称
            database: 'big-event',
            // 账号名称
            user: 'root',
            // 账号密码
            password: 'admin123'
        })

        // 3) 连接 MySQL 服务器
        cn.connect()

        // 4) 执行SQL语句
        cn.query(sql, params, (err, result) => {
            // 如果是查询操作，返回的结果是数组类型
            // 如果是增删改操作，返回的结果是对象类型
            if (err) {
                console.log(err)
                // 异常的结果给reject
                return reject(err.message)
            }
            // 正常的结果给resolve
            return resolve(result)
        })

        // 5) 关闭链接  
        cn.end()
    })
}

module.exports.operateDb = operateDb
